package com.mdb.open.trade.domain.dto.trade;


/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfInwardRemittanceService.java
* Author:   you.yichao
* Date:     2019-10-11
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-10-11          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/

import com.mdb.bc.api.data.DataObjectBase;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
* 类描述：
*  汇入表数据传输类
*
* @author you.yichao
* @date 2019-10-11
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="InwardRemittanceDto", description="汇入表Dto对象")
public class InwardRemittanceDto extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
    * 唯一性Id
    */
    @ApiModelProperty(value = "唯一性Id")
    @NotNull(message = "唯一性Id不允许为空")
    private Integer id;

    /**
    * 客户编码
    */
    @ApiModelProperty(value = "客户编码")
    @NotBlank(message = "客户编码不允许为空")
    private String customerCode;

    /**
    * 客户名称
    */
    @ApiModelProperty(value = "客户名称")
    @NotBlank(message = "客户名称不允许为空")
    private String customerName;

    /**
    * 商户编号
    */
    @ApiModelProperty(value = "商户编号")
    @NotBlank(message = "商户编号不允许为空")
    private String merchantNo;

    /**
    * 商户名称
    */
    @ApiModelProperty(value = "商户名称")
    @NotBlank(message = "商户名称不允许为空")
    private String merchantName;

    /**
    * 汇款编号
    */
    @ApiModelProperty(value = "汇款编号")
    @NotBlank(message = "汇款编号不允许为空")
    private String remitNo;

    /**
    * 核心汇入编号
    */
    @ApiModelProperty(value = "核心汇入编号")
    private String bankInwardNo;

    /**
    * 收款账号
    */
    @ApiModelProperty(value = "收款账号")
    @NotBlank(message = "收款账号不允许为空")
    private String receiveAcc;

    /**
    * 汇款账号
    */
    @ApiModelProperty(value = "汇款账号")
    @NotBlank(message = "汇款账号不允许为空")
    private String remitAcc;

    /**
    * 汇款银行
    */
    @ApiModelProperty(value = "汇款银行")
    @NotBlank(message = "汇款银行不允许为空")
    private String remitBank;

    /**
    * 汇款银行swift
    */
    @ApiModelProperty(value = "汇款银行swift")
    @NotBlank(message = "汇款银行swift不允许为空")
    private String remitSwift;

    /**
    * 汇款到账时间
    */
    @ApiModelProperty(value = "汇款到账时间")
    @NotNull(message = "汇款到账时间不允许为空")
    private LocalDateTime remitDate;

    /**
    * 汇款金额
    */
    @ApiModelProperty(value = "汇款金额")
    private BigDecimal remitAmount;

    /**
    * 入账金额
    */
    @ApiModelProperty(value = "入账金额")
    private BigDecimal creditAmount;

    /**
    * 币种
    */
    @ApiModelProperty(value = "币种")
    @NotBlank(message = "币种不允许为空")
    private String ccy;

    /**
    * 用途
    */
    @ApiModelProperty(value = "用途")
    private String purposes;

    /**
    * 费用承担方
    */
    @ApiModelProperty(value = "费用承担方")
    private String chargeBearer;

    /**
    * 手续费币种
    */
    @ApiModelProperty(value = "手续费币种")
    private String chargesCcy;

    /**
    * 手续费金额
    */
    @ApiModelProperty(value = "手续费金额")
    private BigDecimal chargesAmount;

    /**
    * 附言
    */
    @ApiModelProperty(value = "附言")
    private String details;

    /**
    * 认领时间
    */
    @ApiModelProperty(value = "认领时间")
    private LocalDateTime claimDate;

    /**
    * 状态
    */
    @ApiModelProperty(value = "状态")
    @NotBlank(message = "状态不允许为空")
    private String status;

    /**
    * 产品状态
    */
    @ApiModelProperty(value = "产品状态")
    @NotBlank(message = "产品状态不允许为空")
    private String prodStatus;

    /**
    * 商户状态
    */
    @ApiModelProperty(value = "商户状态")
    @NotBlank(message = "商户状态不允许为空")
    private String merStatus;

    /**
    * 入账状态
    */
    @ApiModelProperty(value = "入账状态")
    @NotBlank(message = "入账状态不允许为空")
    private String creditStatus;

    /**
    * 备注
    */
    @ApiModelProperty(value = "备注")
    private String remark;

}
